package cn.lizemin.scheduledTask;

import lombok.SneakyThrows;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * @author: lizemin
 * @version: 1.0
 */
public class MyScheduledTask {

    //这是一个main方法,是程序的入口
    public static void main(String[] args) {
        //执行器
        Timer timer = new Timer();
        TimerTask myTask = new TimerTask() {
            DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
            @SneakyThrows
            @Override
            public void run() {
                System.out.println("startTime" + df.format(LocalDateTime.now()));
                Thread.sleep(1000);
                System.out.println("end  Time" + df.format(LocalDateTime.now()));
            }
        };
        /**
         * 添加任务
         * 定时执行，每2秒执行一次
         * schedule:会丢任务，任务的执行时间如果超过任务之间的间隔时间就会出现这种情况
         */

        timer.schedule(myTask,new Date(),2000);
        /**
         * scheduleAtFixedRate:表示每隔2秒执行一次，在
         * 任务超时的情况下，scheduleAtFixedRate和schedule的效果是一样的
         * 就算不超时，两者的效果也都是一样的
         */
//        timer.scheduleAtFixedRate(myTask,new Date(),2000);


    }


}

